home *** CD-ROM | disk | FTP | other *** search
/ Softdisk G-S 128 / SGDS 128.2mg / SDGS.128 / SDB128 / B / MYSTERY (.txt) < prev    next >
Encoding:
Applesoft BASIC Source Code  |  1992-05-24  |  5.7 KB  |  150 lines  |  [FC] Applesoft BASIC Program (0x0801)

  1. 1  LOMEM: 32768: TEXT :VE$ = "1.0": PRINT  CHR$(21):D$ =  CHR$(4): GOTO 1000
  2. 20  POKE 2,X: POKE 3,Y: POKE 1,0: POKE 0,S: CALL ML +9: RETURN 
  3. 50  POKE  -16299,0: POKE 230,64: GOSUB 90
  4. 55  CALL ML +12
  5. 60 P =  PEEK(0): IF P = 1  THEN  GOSUB 4000: POKE  -16299,0: POKE 230,64: GOTO 55
  6. 70  IF P = 2  THEN  GOSUB 100: RETURN 
  7. 80  VTAB 24: HTAB 8: PRINT "Press any key to continue.": POKE 49168,0: FOR KP = 1 TO 128:KP =  PEEK(49152): NEXT : POKE 49168,0: RETURN 
  8. 90  VTAB 24: HTAB 1: PRINT "     Press ESC to quit, '?' for help    ": RETURN 
  9. 100  POKE  -16300,0: POKE 230,32: RETURN 
  10. 200  PRINT  CHR$(20): VTAB 24: HTAB 1: PRINT  SPC( 40)
  11. 205  POKE 32,5: POKE 33,30: POKE 34,6: POKE 35,21: PRINT  CHR$(12)
  12. 210  POKE 32,14: POKE 33,21: POKE 32,11: HTAB 1: VTAB 7: PRINT "Highs on Board "BD:H = 6:J = 6: FOR I = 0 TO 2: IF SC >HS%(I)  THEN J = I:I = 5
  13. 220  NEXT : IF J = 6  THEN 240
  14. 230  FOR I = 2 TO J +1  STEP  -1:HS%(I) = HS%(I -1):HS$(I) = HS$(I -1): NEXT :HS%(J) = SC:H = J:HS$(J) = "   "
  15. 240  POKE 32,10: POKE 33,25
  16. 241  FOR I = 0 TO 2: VTAB 10 +I: HTAB 4: PRINT HS$(I) SPC( 7)HS%(I): NEXT 
  17. 250  VTAB 17: HTAB 3: PRINT "Your score: "SC: IF H = 6  THEN 280
  18. 260  IF H = 6  THEN 280
  19. 265  VTAB 19: HTAB 1: PRINT "Enter 3 Initials..."
  20. 270  VTAB 10 +H: HTAB 4:HH = 4:L = 3: GOSUB 610:HS$(H) =  LEFT$(IN$ +"   ",3)
  21. 280  VTAB 19: HTAB 1: PRINT "    Press a key    ": GET A$: PRINT  CHR$(20):SC = 0: RETURN 
  22. 600 :
  23. 610  FOR IN = 11 TO 1  STEP  -1:IN$(IN -1) = " ": NEXT :IN$ = ""
  24. 620  HTAB IN +HH: POKE 50,63 +192 *( PEEK(50) = 63): PRINT IN$(IN) CHR$(8);:T =  PEEK(49152): IF T <128  THEN 620
  25. 630  NORMAL : PRINT IN$(IN) CHR$(8);:T = T -128: POKE 49168,0
  26. 632  IF T >47  AND T <58  AND IT = 1  THEN IN$(IN) =  CHR$(T): PRINT IN$(IN);:IN = IN +(IN <L): GOTO 620
  27. 633  IF IT = 1  AND T >31  AND T <127  THEN 620
  28. 634  IF T >31  AND T <127  THEN IN$(IN) =  CHR$(T): PRINT IN$(IN);:IN = IN +(IN <L): GOTO 620
  29. 640  IF (T = 8  OR T = 4  OR T = 127)  AND (IN >0)  THEN IN$(IN) = " ":IN = IN -1: PRINT " " CHR$(8) CHR$(8);
  30. 650  IF T = 27  THEN IN$ = "": RETURN 
  31. 660  ON T < >13 GOTO 620: FOR I = 0 TO IN:IN$ = IN$ +IN$(I): NEXT : IF IN = 0  THEN IN$ = "": RETURN 
  32. 670 IN$ =  LEFT$(IN$, LEN(IN$) -1): PRINT " ": RETURN 
  33. 1000  DIM HS%(99),HS$(99),T%(99,1):ML = 26627: POKE 230,32
  34. 1010 RT = 1: PRINT D$"-mm11"
  35. 1020  POKE 48688, PEEK(0): POKE 48689, PEEK(1): PRINT  CHR$(12): VTAB 5: HTAB 16: PRINT "YACHT GRID": GOSUB 9000: PRINT D$"bloadmm11.shp"
  36. 1021  POKE 230,32: GOTO 20000
  37. 1025  GOSUB 80
  38. 1028  GOSUB 6000
  39. 1040  GOSUB 7000
  40. 1041  IF PP = 1  THEN 1050
  41. 1042 RT = 2: GOTO 20000
  42. 1050  GOSUB 90
  43. 1060  PRINT  CHR$(20)
  44. 1065  POKE 0,BD
  45. 1070  HGR2 : CALL ML +15: VTAB 23: HTAB 19: PRINT "-300": GOSUB 50
  46. 1100 SC =  PEEK(ML):X = 0
  47. 1101  IF SC >15  THEN X = X +1:SC = SC -16: GOTO 1101
  48. 1102 SC = X *10 +SC:X = 0:KP =  PEEK(ML +1)
  49. 1103  IF KP >9  THEN X = 1:KP = KP -16: GOTO 1103
  50. 1104 SC = SC +100 *KP: IF X  THEN SC =  -SC
  51. 1109  GOSUB 100: GOSUB 5000
  52. 1110  GOSUB 200
  53. 1430  GOTO 1040
  54. 4000  POKE 230,32: PRINT  CHR$(20) CHR$(12): VTAB 1: HTAB 1: GOSUB 100
  55. 4010  PRINT " The object is to get the highest score possible by circling groups of 5 or     fewer dice."
  56. 4015  PRINT : PRINT " You may section off groups either down or across, but not diagonally. Each die may be used only once."
  57. 4020  PRINT : PRINT " Each group must contain one of the     following scoring combinations:": HTAB 36: PRINT "PTS."
  58. 4021  PRINT " 1 pair (2 dice the same)            5"
  59. 4022  PRINT " 1 trio (3 dice the same)           10"
  60. 4023  PRINT " 2 pair (any order)                 15"
  61. 4024  PRINT " 1 quartet (4 dice the same)        20"
  62. 4025  PRINT " 4 in a row (any order: 4,1,3,2)    25"
  63. 4026  PRINT " 1 trio and 1 pair (full house)     30"
  64. 4027  PRINT " 5 in a row (any order)             35"
  65. 4028  PRINT " 1 quintuple (5 dice the same)      40"
  66. 4030  PRINT : PRINT " You also gain 5 points for every die   that is circled."
  67. 4040  GOSUB 80: IF KP = 156  THEN 4095
  68. 4050  PRINT  CHR$(12): VTAB 1: PRINT " To move the pencil, use the following:": HTAB 14: PRINT " A    &    8": HTAB 14: PRINT "% #  % #  4 6": HTAB 14: PRINT " Z    $    2"
  69. 4060  PRINT : PRINT " Press Return or Space to enter circle  mode. Use the movement keys to stretch  the circle to include all the dice you"
  70. 4070  PRINT "want, then press Return or Space to     accept the circle."
  71. 4072  PRINT : PRINT " You may abort a circle by pressing the ESC key.": PRINT : PRINT " You may erase a drawn circle by going"
  72. 4073  PRINT "into circle mode on any circled die and answering yes to 'Erase this circle?'"
  73. 4080  PRINT : PRINT : PRINT " CTRL-S toggles sound on and off"
  74. 4090  GOSUB 80: IF KP < >156  THEN 6000
  75. 4095  PRINT  CHR$(20) CHR$(12): GOTO 90
  76. 4113  VTAB 10: PRINT " You lose 2 points every time you make  a move, and lose the points for every   piece on the board when the game ends."
  77. 4114  PRINT " You earn a 255 point bonus if there is only one piece left on the board.": PRINT 
  78. 5000  PRINT  CHR$(20): HTAB 5: VTAB 3: PRINT "[";: FOR I = 1 TO 30: PRINT "\";: NEXT : PRINT "]"
  79. 5001  FOR I = 2 TO 19: VTAB I +2: HTAB 5: PRINT "}";: HTAB 36: PRINT "^";: NEXT 
  80. 5002  VTAB 22: HTAB 5: PRINT "{";: FOR I = 1 TO 30: PRINT "`";: NEXT : PRINT "_"
  81. 5005  POKE 32,5: POKE 33,30: POKE 34,3: POKE 35,21: PRINT  CHR$(12)
  82. 5010  VTAB 4: PRINT VE$: VTAB 5: HTAB 10: PRINT "Yacht  Grid"
  83. 5015  HCOLOR= 6: HPLOT 98,44 TO 175,44: RETURN 
  84. 6000  GOSUB 100: PRINT  CHR$(20) CHR$(12): GOSUB 5000
  85. 6006  HCOLOR= 5: HPLOT 35,80 TO 244,80: HCOLOR= 0
  86. 6009  FOR I = 6 TO 28  STEP 4: POKE 2,I: POKE 3,60: POKE 1,8: POKE 0,(I -6)/4 *2 +6: CALL ML +9: NEXT 
  87. 6020  VTAB 6: HTAB 15: PRINT "by": HTAB 9: PRINT "Peter Rokitski"
  88. 6025  PRINT : PRINT 
  89. 6030  PRINT : PRINT : HTAB 1: PRINT "Copyright 1992 Softdisk, Inc.": HTAB 5: PRINT "All rights reserved."
  90. 6040  HTAB 6: PRINT "Published on  128.": HTAB 1: PRINT "Subscriptions: 1-800-831-2694"
  91. 6050  PRINT : HTAB 1: PRINT "Changing this notice is quite": HTAB 6: PRINT "illegal, you know."
  92. 6060  PRINT : PRINT : HTAB 3: PRINT "Press any key to continue.": POKE 49168,0: FOR KP = 1 TO 128:KP =  PEEK(49152): NEXT : POKE 49168,0
  93. 6080  POKE 34,0: POKE 35,24: POKE 32,0: POKE 33,40
  94. 6090  RETURN 
  95. 6299 ,0: POKE 230,64: GOSUB 90
  96. 7000  GOSUB 90: GOSUB 5000
  97. 7005  POKE 32,13: POKE 33,22: POKE 34,6: PRINT  CHR$(12)
  98. 7008  VTAB 7: PRINT "  Main Menu": VTAB 17: PRINT "Which number?
  99. 7010  VTAB 10: PRINT "1. Play Board "BD: PRINT "2. New Board": PRINT "3. High Scores": PRINT "4. Board Scores": PRINT "5. Quit"
  100. 7015  PRINT  CHR$(20)
  101. 7020 P =  PEEK(49152): IF P <128  THEN 7020
  102. 7025  POKE 49168,0
  103. 7030  IF P = 155  THEN  GOSUB 8000
  104. 7040  IF P = 191  OR P = 175  THEN  GOSUB 4000: GOTO 7000
  105. 7050  IF P = 177  THEN PP = 1: RETURN 
  106. 7055  IF P = 180  THEN 7100
  107. 7065  IF P = 181  THEN  GOSUB 8000: GOTO 7000
  108. 7066  IF P = 179  THEN  GOSUB 200: GOTO 7000
  109. 7070  IF P < >178  THEN 7000
  110. 7090  VTAB 24: HTAB 5: PRINT "Enter new board number (0-99)   ";:L = 2:HH = 35:IT = 1: GOSUB 610:IT = 0
  111. 7095  GOSUB 30000:PP = 2: IF IN$ < >""  THEN BD =  VAL(IN$)
  112. 7096  RETURN 
  113. 7100  GOSUB 30000: PRINT  CHR$(20) CHR$(12): VTAB 1: HTAB 15: PRINT "BOARD BESTS"
  114. 7110  PRINT D$"openmm11.hs,l24": FOR I = 0 TO 99: PRINT D$"readmm11.hs,r"I: INPUT HS$(I): INPUT HS%(I): NEXT : PRINT D$"close"
  115. 7150  VTAB 2: HTAB 1: PRINT " BD SCR  BD SCR  BD SCR  BD SCR  BD SCR"
  116. 7160  FOR I = 0 TO 39: PRINT "\";: NEXT 
  117. 7170  FOR I = 0 TO 4: FOR J = 0 TO 19: VTAB 4 +J: HTAB I *8 +2:A = I *20 +J: PRINT  SPC( A <10)A" ";:A = HS%(A):A$ =  STR$(A): IF A = 0  THEN  PRINT "---": GOTO 7180
  118. 7175  PRINT  SPC( A <100) SPC( A <10)A$
  119. 7180  NEXT : NEXT 
  120. 7190  GOSUB 80:PP = 2: PRINT  CHR$(12): RETURN 
  121. 8000  POKE 34,23: PRINT  CHR$(12): VTAB 24: HTAB 8: PRINT "Do you want to quit? (Y/N)": POKE 49168,0
  122. 8010 P =  PEEK(49152): IF P <128  THEN 8010
  123. 8020  POKE 34,1: POKE 49168,0: IF P = 206  OR P = 238  THEN  GOTO 90
  124. 8030  IF P < >217  AND P < >249  THEN 8010
  125. 8035  GOSUB 30000
  126. 8040  PRINT D$"bye"
  127. 9000  HCOLOR= 6: HPLOT 2,26 TO 276,26 TO 276,141 TO 2,141 TO 2,26
  128. 9010  HTAB 8: PRINT "is the copyrighted work of": HTAB 11: PRINT "SOFTDISK PUBLISHING."
  129. 9020  HTAB 2: PRINT "It is NOT intended for distribution as"
  130. 9030  HTAB 7: PRINT "public domain or shareware.": PRINT : PRINT 
  131. 9040  HTAB 4: PRINT "For help, information or to report"
  132. 9050  HTAB 2: PRINT "illegal distribution of this program,"
  133. 9060  HTAB 4: PRINT "call SOFTDISK Customer Service at:": PRINT 
  134. 9070  HTAB 14: PRINT "1-800-831-2694 or"
  135. 9080  HTAB 14: PRINT "1-318-221-8718"
  136. 9090  HCOLOR= 5: HPLOT 5,80 TO 273,80
  137. 9100  RETURN 
  138. 20000 :
  139. 20010  ONERR  GOTO 20050
  140. 20020  PRINT D$"OPENmm11.hs,l24": PRINT D$"READmm11.hs,r"BD
  141. 20030  INPUT HS$(0): INPUT HS%(0): INPUT HS$(1): INPUT HS%(1): INPUT HS$(2): INPUT HS%(2): GOTO 20060
  142. 20050  IF  PEEK(222) < >5  THEN 20055
  143. 20051  POKE 216,0: FOR I = 0 TO 99: PRINT D$"writemm11.hs,r"I: FOR J = 0 TO 2: PRINT "   ": PRINT "0": NEXT : NEXT 
  144. 20055  FOR I = 0 TO 2:HS$(I) = "   ":HS%(I) = 0: NEXT 
  145. 20060  FOR I = 0 TO 2:HS$(I) =  LEFT$(HS$(I) +"   ",3): NEXT 
  146. 20070  POKE 216,0: PRINT D$"close": ON RT GOTO 1025,1040
  147. 30000 :
  148. 30010  PRINT D$"openmm11.hs,l24": PRINT D$"writemm11.hs,r"BD
  149. 30020  FOR I = 0 TO 2: PRINT HS$(I): PRINT HS%(I): NEXT : PRINT D$"CLOSE"
  150. 30030  RETURN